cargo.git
9 years agoAuto merge of #3350 - alexcrichton:more-tweaks, r=alexcrichton
bors [Thu, 1 Dec 2016 07:49:11 +0000 (07:49 +0000)]
Auto merge of #3350 - alexcrichton:more-tweaks, r=alexcrichton

Slight tweaks to CI

* Pass `--quiet` to all tests to have some quieter output
* Skip builds on the `master` branch as `auto` is already checked
* Check the right env var for repo branches on appveyor

9 years agoSlight tweaks to CI
Alex Crichton [Wed, 30 Nov 2016 19:12:49 +0000 (11:12 -0800)]
Slight tweaks to CI

* Pass `--quiet` to all tests to have some quieter output
* Skip builds on branches other than `auto-cargo` as it's already checked
* Check the right env var for repo branches on appveyor
* Only run a few builds on PRs

9 years agoAuto merge of #3347 - ibabushkin:master, r=alexcrichton
bors [Thu, 1 Dec 2016 01:32:51 +0000 (01:32 +0000)]
Auto merge of #3347 - ibabushkin:master, r=alexcrichton

Reordered rustc arguments.

This adresses #3276 .

Some tests I can't run locally might still fail, I'm fixing those.

The core change is rather trivial, simply reorder some existing code, and update tests to match the new results.

9 years agoFixed a few additional tests.
Inokentiy Babushkin [Wed, 30 Nov 2016 20:05:23 +0000 (21:05 +0100)]
Fixed a few additional tests.

9 years agoFixed type breaking some tests.
Inokentiy Babushkin [Wed, 30 Nov 2016 19:42:44 +0000 (20:42 +0100)]
Fixed type breaking some tests.

9 years agoChanged another batch of tests to account for new rustc argument order.
Inokentiy Babushkin [Wed, 30 Nov 2016 19:04:14 +0000 (20:04 +0100)]
Changed another batch of tests to account for new rustc argument order.

9 years agoAuto merge of #3345 - alexcrichton:release-branches, r=alexcrichton
bors [Wed, 30 Nov 2016 18:16:39 +0000 (18:16 +0000)]
Auto merge of #3345 - alexcrichton:release-branches, r=alexcrichton

Add support for release branches in Cargo

Follow the same strategy as the compiler for now in basically every respect:

* Add new `--release-channel` configure option, defaulting to `dev`
* Remove old `--enable-nightly`
* Add `--enable-build-openssl` as an orthogonal option
* Hook up Travis/AppVeyor to stable/beta/master branches to do the right
  channel builds.

9 years agoAdd support for release branches in Cargo
Alex Crichton [Tue, 29 Nov 2016 14:36:31 +0000 (06:36 -0800)]
Add support for release branches in Cargo

Follow the same strategy as the compiler for now in basically every respect:

* Add new `--release-channel` configure option, defaulting to `dev`
* Remove old `--enable-nightly`
* Add `--enable-build-openssl` as an orthogonal option
* Hook up Travis/AppVeyor to stable/beta/master branches to do the right
  channel builds.

9 years agoAnother test update for the argument order changetest update for the argument order...
Inokentiy Babushkin [Wed, 30 Nov 2016 07:49:00 +0000 (08:49 +0100)]
Another test update for the argument order changetest update for the argument order change. Please enter the commit message for your changes. Lines starting

9 years agoUpdated one more test to fit new rustc argument order.
Inokentiy Babushkin [Wed, 30 Nov 2016 00:05:55 +0000 (01:05 +0100)]
Updated one more test to fit new rustc argument order.

9 years ago[WIP] Reordered rustc arguments.
Inokentiy Babushkin [Tue, 29 Nov 2016 23:11:58 +0000 (00:11 +0100)]
[WIP] Reordered rustc arguments.

9 years agoAuto merge of #3342 - alexcrichton:fix-ssl, r=alexcrichton
bors [Tue, 29 Nov 2016 01:03:38 +0000 (19:03 -0600)]
Auto merge of #3342 - alexcrichton:fix-ssl, r=alexcrichton

Bump git2 dep to fix SSL paths

This commit includes alexcrichton/git2-rs@a8f4a7faa which switches the order of
initialization of libgit2. That commit ensures that the relevant env vars which
a statically linked OpenSSL needs to function are set before libgit2 is
initialized to ensure that libgit2 uses them.

This was regressed accidentally in alexcrichton/git2-rs@071902aa when
initialization was tweaked.

Closes #3340

9 years agoBump git2 dep to fix SSL paths
Alex Crichton [Mon, 28 Nov 2016 23:48:10 +0000 (15:48 -0800)]
Bump git2 dep to fix SSL paths

This commit includes alexcrichton/git2-rs@a8f4a7faa which switches the order of
initialization of libgit2. That commit ensures that the relevant env vars which
a statically linked OpenSSL needs to function are set before libgit2 is
initialized to ensure that libgit2 uses them.

This was regressed accidentally in alexcrichton/git2-rs@071902aa when
initialization was tweaked.

Closes #3340

9 years agoAuto merge of #3339 - SimonSapin:git-short-id, r=alexcrichton
bors [Mon, 28 Nov 2016 21:00:19 +0000 (15:00 -0600)]
Auto merge of #3339 - SimonSapin:git-short-id, r=alexcrichton

Use short IDs in git dependencies checkout path

… in order to contribute less to the path length limit on Windows: https://github.com/servo/servo/pull/14397

9 years agoUse short IDs in git dependencies checkout path
Simon Sapin [Mon, 28 Nov 2016 20:41:21 +0000 (21:41 +0100)]
Use short IDs in git dependencies checkout path

… in order to contribute less to the path length limit on Windows:
https://github.com/servo/servo/pull/14397

9 years agoAuto merge of #3332 - alexcrichton:build-openssl, r=alexcrichton
bors [Sat, 26 Nov 2016 23:40:40 +0000 (17:40 -0600)]
Auto merge of #3332 - alexcrichton:build-openssl, r=alexcrichton

Compile OpenSSL from source on OSX

I'm seeing a bunch of weird illegal instructions on OSX nightlies for
Cargo. My guess is that they're all related to OpenSSL linking. Right
now we're linking from Homebrew but I have a sneaking suspicion that it
compiles with `-march=native` rather than what we'd like as a portable
binary. To work around this compile OpenSSL ourselves and link it that
way.

Note that I believe this won't bring in the certificate trust store of
OpenSSL on OSX (or at least not the right one from the keychain). We
shouldn't need that, however, as OpenSSL is just used as the
cryptographic primitives in libssh2 and Cargo itself. So in that sense
we shouldn't need it for actually SSL at all.

9 years agoCompile OpenSSL from source on OSX
Alex Crichton [Sat, 26 Nov 2016 22:37:27 +0000 (14:37 -0800)]
Compile OpenSSL from source on OSX

I'm seeing a bunch of weird illegal instructions on OSX nightlies for
Cargo. My guess is that they're all related to OpenSSL linking. Right
now we're linking from Homebrew but I have a sneaking suspicion that it
compiles with `-march=native` rather than what we'd like as a portable
binary. To work around this compile OpenSSL ourselves and link it that
way.

Note that I believe this won't bring in the certificate trust store of
OpenSSL on OSX (or at least not the right one from the keychain). We
shouldn't need that, however, as OpenSSL is just used as the
cryptographic primitives in libssh2 and Cargo itself. So in that sense
we shouldn't need it for actually SSL at all.

9 years agoAuto merge of #3331 - alexcrichton:fix-segfaults, r=alexcrichton
bors [Sat, 26 Nov 2016 17:12:07 +0000 (11:12 -0600)]
Auto merge of #3331 - alexcrichton:fix-segfaults, r=alexcrichton

Update git2 fixing initialization races

This updates libgit2/libssh2 bindings to fix initialization races in
OpenSSL. This should fix some of the spurious segfaults we've been
seeing on Travis OSX.

9 years agoUpdate git2 fixing initialization races
Alex Crichton [Sat, 26 Nov 2016 17:11:08 +0000 (09:11 -0800)]
Update git2 fixing initialization races

This updates libgit2/libssh2 bindings to fix initialization races in
OpenSSL. This should fix some of the spurious segfaults we've been
seeing on Travis OSX.

9 years agoAuto merge of #3326 - tbu-:pr_bump_git2_061, r=alexcrichton
bors [Fri, 25 Nov 2016 23:28:37 +0000 (17:28 -0600)]
Auto merge of #3326 - tbu-:pr_bump_git2_061, r=alexcrichton

Bump git2 dependency to fix #3312

9 years agoBump git2 dependency to fix #3312
Tobias Bucher [Thu, 24 Nov 2016 23:13:57 +0000 (00:13 +0100)]
Bump git2 dependency to fix #3312

9 years agoAuto merge of #3325 - alexcrichton:fix-flaky, r=alexcrichton
bors [Thu, 24 Nov 2016 17:59:29 +0000 (11:59 -0600)]
Auto merge of #3325 - alexcrichton:fix-flaky, r=alexcrichton

Make a freshness test less flaky

We can't rely on frobbing mtimes, need to actually just wait a whole
second.

9 years agoMake a freshness test less flaky
Alex Crichton [Thu, 24 Nov 2016 17:58:46 +0000 (09:58 -0800)]
Make a freshness test less flaky

We can't rely on frobbing mtimes, need to actually just wait a whole
second.

9 years agoAuto merge of #3315 - alexcrichton:fix-travis, r=alexcrichton
bors [Wed, 23 Nov 2016 05:41:52 +0000 (23:41 -0600)]
Auto merge of #3315 - alexcrichton:fix-travis, r=alexcrichton

Really fix OSX nightlies

After #3311 we're now correctly trying to link OpenSSL statically on
OSX. Unfortunately though this is failing to complete on the builders.
Turns out the way we install OpenSSL through Homebrew create "universal
archives" which is essentially an archive with both i686 and x86_64
object files, but separated. The linker takes care of this just fine but
rustc currently chokes on it, unable to include the library statically
into the compiler.

To work around this we prepare our own mini install of OpenSSL by
copying relevant bits into a local directory (like we do on Linux). As
part of this we use the `lipo` tool, which is used to manage these fat
archives, to disassemble the archive and only extract the relevant
architecture. This should make a pre-installation step which both
extracts the information and configures Cargo to use it.

This should also fix the errors we're seeing on Travis I believe.

9 years agoReally fix OSX nightlies
Alex Crichton [Wed, 23 Nov 2016 05:37:26 +0000 (21:37 -0800)]
Really fix OSX nightlies

After #3311 we're now correctly trying to link OpenSSL statically on
OSX. Unfortunately though this is failing to complete on the builders.
Turns out the way we install OpenSSL through Homebrew create "universal
archives" which is essentially an archive with both i686 and x86_64
object files, but separated. The linker takes care of this just fine but
rustc currently chokes on it, unable to include the library statically
into the compiler.

To work around this we prepare our own mini install of OpenSSL by
copying relevant bits into a local directory (like we do on Linux). As
part of this we use the `lipo` tool, which is used to manage these fat
archives, to disassemble the archive and only extract the relevant
architecture. This should make a pre-installation step which both
extracts the information and configures Cargo to use it.

This should also fix the errors we're seeing on Travis I believe.

9 years agoAuto merge of #3311 - alexcrichton:fix-nightlies, r=brson
bors [Mon, 21 Nov 2016 21:18:02 +0000 (15:18 -0600)]
Auto merge of #3311 - alexcrichton:fix-nightlies, r=brson

Link OpenSSL statically on OSX

Now that Cargo requires OpenSSL >= 1.0.1 transitively through the `openssl-sys`
0.9 release the dynamic libraries for OpenSSL are no longer located on OSX by
default. This means that the support necessary for libssh2 needs to be
statically linked rather than dynamically linked.

Closes #3303

9 years agoLink OpenSSL statically on OSX
Alex Crichton [Mon, 21 Nov 2016 20:36:30 +0000 (12:36 -0800)]
Link OpenSSL statically on OSX

Now that Cargo requires OpenSSL >= 1.0.1 transitively through the `openssl-sys`
0.9 release the dynamic libraries for OpenSSL are no longer located on OSX by
default. This means that the support necessary for libssh2 needs to be
statically linked rather than dynamically linked.

Closes #3303

9 years agoAuto merge of #3251 - alexcrichton:fix-regr, r=brson
bors [Fri, 18 Nov 2016 20:32:20 +0000 (12:32 -0800)]
Auto merge of #3251 - alexcrichton:fix-regr, r=brson

Fix regression with path overrides

If an override points to a path dependency then that's not locked, so we're
missing information for that, but it's already warned about, so no need to
worry.

Closes #3288

9 years agoAuto merge of #3299 - alexcrichton:fix-tests, r=alexcrichton
bors [Thu, 17 Nov 2016 20:45:11 +0000 (12:45 -0800)]
Auto merge of #3299 - alexcrichton:fix-tests, r=alexcrichton

Fix tests on nightly

9 years agoFix tests on nightly
Alex Crichton [Thu, 17 Nov 2016 20:21:13 +0000 (12:21 -0800)]
Fix tests on nightly

9 years agoAuto merge of #3297 - alexcrichton:bump, r=brson
bors [Thu, 17 Nov 2016 00:14:07 +0000 (16:14 -0800)]
Auto merge of #3297 - alexcrichton:bump, r=brson

Bump to 0.16.0

9 years agoBump to 0.16.0
Alex Crichton [Thu, 17 Nov 2016 00:05:31 +0000 (16:05 -0800)]
Bump to 0.16.0

9 years agoAuto merge of #3102 - nipunn1313:attempt, r=alexcrichton
bors [Wed, 16 Nov 2016 15:02:22 +0000 (07:02 -0800)]
Auto merge of #3102 - nipunn1313:attempt, r=alexcrichton

Mix feature flags into fingerprint/metadata shorthash

Since building dependencies results in different libraries
depending on the feature flags, I added the feature flags into
the short_hash.

This solves an issue when multiple crates share a target directory
or multiple targets share a common library with divergent feature
flag choice.

I'm not sure if this architecturally the best way to solve this problem, but I did confirm that this fixes the issue I was seeing. I can also add a test for this case if this code is taking the right approach (or if it would help illustrate the issue).

9 years agoTarget_env -> Target_os
Nipunn Koorapati [Wed, 16 Nov 2016 07:46:57 +0000 (23:46 -0800)]
Target_env -> Target_os

9 years agoIgnore killing_cargo_releases_the_lock on windows
Nipunn Koorapati [Wed, 16 Nov 2016 06:48:21 +0000 (22:48 -0800)]
Ignore killing_cargo_releases_the_lock on windows

9 years agoMerge branch 'master' into attempt
Nipunn Koorapati [Tue, 15 Nov 2016 19:53:24 +0000 (11:53 -0800)]
Merge branch 'master' into attempt

- Fix instances of try! converting to ? syntax

9 years agoFix regression with path overrides
Alex Crichton [Fri, 4 Nov 2016 00:00:13 +0000 (17:00 -0700)]
Fix regression with path overrides

If an override points to a path dependency then that's not locked, so we're
missing information for that, but it's already warned about, so no need to
worry.

9 years agoAuto merge of #3286 - rjgoldsborough:build-script-docs-mistake-336, r=alexcrichton
bors [Tue, 15 Nov 2016 18:44:46 +0000 (10:44 -0800)]
Auto merge of #3286 - rjgoldsborough:build-script-docs-mistake-336, r=alexcrichton

fixing build script docs mistakes

Fixes https://github.com/rust-lang/crates.io/issues/336

9 years agoIgnore the flaky lock test on older windows
Nipunn Koorapati [Tue, 15 Nov 2016 17:51:12 +0000 (09:51 -0800)]
Ignore the flaky lock test on older windows

9 years agoAuto merge of #3283 - saschagrunert:master, r=alexcrichton
bors [Tue, 15 Nov 2016 17:03:49 +0000 (09:03 -0800)]
Auto merge of #3283 - saschagrunert:master, r=alexcrichton

Changed try! macros to ? operator

Since the stabilization of the ? operator (release 1.13.0)
the ? operator should be used to use idiomatic Rust.

9 years agoAuto merge of #3294 - sanxiyn:unused-type-alias, r=alexcrichton
bors [Tue, 15 Nov 2016 15:07:57 +0000 (07:07 -0800)]
Auto merge of #3294 - sanxiyn:unused-type-alias, r=alexcrichton

Remove unused type aliases

Found by rust-lang/rust#37631 and necessary to land because of cargotest.

9 years agoRemove unused type aliases
Seo Sanghyeon [Tue, 15 Nov 2016 12:49:41 +0000 (21:49 +0900)]
Remove unused type aliases

9 years agoChanged rustversion to the last successful nightly
Sascha Grunert [Tue, 15 Nov 2016 06:44:13 +0000 (07:44 +0100)]
Changed rustversion to the last successful nightly

9 years agoAuto merge of #3272 - cuviper:openssl-1.1.0, r=alexcrichton
bors [Mon, 14 Nov 2016 21:56:07 +0000 (13:56 -0800)]
Auto merge of #3272 - cuviper:openssl-1.1.0, r=alexcrichton

Update dependencies for OpenSSL 1.1.0 compatibility

The primary targets here are openssl and openssl-sys crates 0.9,
bringing support for OpenSSL 1.1.0.  This requires updating the curl
and git2 related dependencies as well.

A small change is required in cargo itself for the new Hasher API.
Results from the hasher are simply unwrapped for now, matching the
Windows behavior that already panics on error.

9 years agoMore updates for OpenSSL 1.1.0
Alex Crichton [Wed, 9 Nov 2016 15:11:16 +0000 (07:11 -0800)]
More updates for OpenSSL 1.1.0

9 years agoChanged rustversion to 2016-11-05
Sascha Grunert [Mon, 14 Nov 2016 17:02:41 +0000 (18:02 +0100)]
Changed rustversion to 2016-11-05

9 years agoFix one more [/] in env-var test for windows
Nipunn Koorapati [Sun, 13 Nov 2016 06:16:56 +0000 (22:16 -0800)]
Fix one more [/] in env-var test for windows

9 years agoFix dll prefix/suffix test for windows
Nipunn Koorapati [Sun, 13 Nov 2016 05:49:44 +0000 (21:49 -0800)]
Fix dll prefix/suffix test for windows

9 years agoFix [/] for windows on env_metadata test
Nipunn Koorapati [Sun, 13 Nov 2016 03:27:09 +0000 (19:27 -0800)]
Fix [/] for windows on env_metadata test

9 years agoAdded back __CARGO_DEFAULT_LIB_METADATA handling with comment + test
Nipunn Koorapati [Sun, 13 Nov 2016 02:55:07 +0000 (18:55 -0800)]
Added back __CARGO_DEFAULT_LIB_METADATA handling with comment + test

9 years agofixing build script docs mistakes
Jake Goldsborough [Sat, 12 Nov 2016 17:04:02 +0000 (09:04 -0800)]
fixing build script docs mistakes

9 years agoFixed too long lines
Sascha Grunert [Sat, 12 Nov 2016 09:33:59 +0000 (10:33 +0100)]
Fixed too long lines

9 years agoChanged rustversion to latest nightly release
Sascha Grunert [Sat, 12 Nov 2016 09:19:10 +0000 (10:19 +0100)]
Changed rustversion to latest nightly release

9 years agoLink targets in the FRESH step as well
Nipunn Koorapati [Sat, 12 Nov 2016 08:26:39 +0000 (00:26 -0800)]
Link targets in the FRESH step as well

9 years agoSet OPENSSL_DIR for CI
Josh Stone [Wed, 9 Nov 2016 01:32:21 +0000 (17:32 -0800)]
Set OPENSSL_DIR for CI

9 years agoUpdate dependencies for OpenSSL 1.1.0 compatibility
Josh Stone [Tue, 8 Nov 2016 09:36:44 +0000 (01:36 -0800)]
Update dependencies for OpenSSL 1.1.0 compatibility

The primary targets here are openssl and openssl-sys crates 0.9,
bringing support for OpenSSL 1.1.0.  This requires updating the curl
and git2 related dependencies as well.

A small change is required in cargo itself for the new Hasher API.
Results from the hasher are simply unwrapped for now, matching the
Windows behavior that already panics on error.

9 years agoUpdated indent and rustversion.txt
Sascha Grunert [Fri, 11 Nov 2016 18:16:59 +0000 (19:16 +0100)]
Updated indent and rustversion.txt

9 years agoAuto merge of #3284 - alexcrichton:fix-uploads, r=alexcrichton
bors [Fri, 11 Nov 2016 15:28:07 +0000 (07:28 -0800)]
Auto merge of #3284 - alexcrichton:fix-uploads, r=alexcrichton

Publish builds from the auto-cargo branch

Cargo doesn't use auto, it uses auto-cargo

9 years agoPublish builds from the auto-cargo branch
Alex Crichton [Fri, 11 Nov 2016 15:27:31 +0000 (07:27 -0800)]
Publish builds from the auto-cargo branch

Cargo doesn't use auto, it uses auto-cargo

9 years agoChanged try! macros to ? operator
Sascha Grunert [Fri, 11 Nov 2016 13:25:20 +0000 (14:25 +0100)]
Changed try! macros to ? operator

Since the stabilization of the ? operator (release 1.13.0)
the ? operator should be used to use idiomatic Rust.

9 years agoAuto merge of #3280 - alexcrichton:test-features, r=brson
bors [Fri, 11 Nov 2016 00:20:48 +0000 (16:20 -0800)]
Auto merge of #3280 - alexcrichton:test-features, r=brson

Fix passing --features when testing multiple packages

The wrong method was being passed to resolution accidentally. Features specified
via `--features` and `--no-default-features` are spec'd as only applying to the
*current* package, not all packages.

Closes #3279

9 years agoFix passing --features when testing multiple packages
Alex Crichton [Thu, 10 Nov 2016 23:44:39 +0000 (15:44 -0800)]
Fix passing --features when testing multiple packages

The wrong method was being passed to resolution accidentally. Features specified
via `--features` and `--no-default-features` are spec'd as only applying to the
*current* package, not all packages.

Closes #3279

9 years agoAuto merge of #3278 - alexcrichton:bump, r=alexcrichton
bors [Thu, 10 Nov 2016 20:18:08 +0000 (12:18 -0800)]
Auto merge of #3278 - alexcrichton:bump, r=alexcrichton

Bump to 0.15.0

9 years agoBump to 0.15.0
Alex Crichton [Thu, 10 Nov 2016 20:17:45 +0000 (12:17 -0800)]
Bump to 0.15.0

9 years agoAuto merge of #3274 - alexcrichton:more-travis-again, r=alexcrichton
bors [Tue, 8 Nov 2016 16:30:24 +0000 (08:30 -0800)]
Auto merge of #3274 - alexcrichton:more-travis-again, r=alexcrichton

More travis again

Landing this again hopefully with the doc fix

9 years agoDon't use travis-cargo to upload docs
Alex Crichton [Tue, 8 Nov 2016 15:07:49 +0000 (07:07 -0800)]
Don't use travis-cargo to upload docs

9 years agoRevert "Revert "Continuously publish Cargo builds""
Alex Crichton [Tue, 8 Nov 2016 15:04:09 +0000 (07:04 -0800)]
Revert "Revert "Continuously publish Cargo builds""

This reverts commit b008422e92295c2e4de5b7de2284d963b55a6f8c.

9 years agoAuto merge of #3259 - alexcrichton:more-ro, r=brson
bors [Tue, 8 Nov 2016 14:47:48 +0000 (06:47 -0800)]
Auto merge of #3259 - alexcrichton:more-ro, r=brson

Open crate files readonly first

This allows Cargo to work with read-only `CARGO_HOME` directories where the
cache was prepared ahead of time.

Closes #3256

9 years agoAuto merge of #3270 - brson:cargo-docs, r=alexcrichton
bors [Tue, 8 Nov 2016 13:01:19 +0000 (05:01 -0800)]
Auto merge of #3270 - brson:cargo-docs, r=alexcrichton

Revert "Continuously publish Cargo builds"

This reverts commit 7799014dc7330445f62e2f925573ca15dd8e8e03.

Fixes https://github.com/rust-lang/cargo/issues/3269.

The reason doc.crates.io doesn't display correctly is that travis-cargo writes its own index.html that is just a meta-redirect to the api docs, overwriting cargo's own docs.

r? @alexcrichton

9 years agoRevert "Continuously publish Cargo builds"
Brian Anderson [Tue, 8 Nov 2016 02:09:22 +0000 (02:09 +0000)]
Revert "Continuously publish Cargo builds"

This reverts commit 7799014dc7330445f62e2f925573ca15dd8e8e03.

9 years agoMix feature flags into fingerprint/metadata shorthash
Nipunn Koorapati [Tue, 4 Oct 2016 23:16:30 +0000 (16:16 -0700)]
Mix feature flags into fingerprint/metadata shorthash

Since building dependencies results in different libraries
depending on the feature flags, I added the feature flags
into the short_hash. This solves an issue when multiple crates
share a target directory or multiple targets share a common
library with divergent feature flag choice.

- Only link binaries, build scripts, and top level deps
- Handle dylibs differently (no metadata filename / linking)
- Fingerprint based on link_dst rather than file_stem.

This (sadly) limits the effects of dep caching to things
which don't produce a hard-link. Currently, this is only dependent
library crates. Stil a big win.

9 years agoAdd tests for feature freshness
Nipunn Koorapati [Tue, 4 Oct 2016 22:21:16 +0000 (15:21 -0700)]
Add tests for feature freshness

9 years agoAuto merge of #3239 - alexcrichton:travis, r=brson
bors [Mon, 7 Nov 2016 06:45:50 +0000 (22:45 -0800)]
Auto merge of #3239 - alexcrichton:travis, r=brson

Continuously publish Cargo builds

This commit tweaks Cargo's automation to continuously publish builds on Travis
an AppVeyor. Once this is merged we can hopefully turn off all buildbot
automation related to Cargo and purely rely on Travis and AppVeyor for this
repository. All CI matrices are ported over to Travis and AppVeyor and a new
musl build of Cargo is even added just to test out adding that for a spin.

Currently Cargo will upload the final artifact for each target to a directory
keyed by the commit hash to a new bucket on S3, rust-lang-cargo-dev. Once we're
happy with the builds then we can change this to `rust-lang-cargo` or anything
else at that point.

9 years agoContinuously publish Cargo builds
Alex Crichton [Tue, 25 Oct 2016 06:48:39 +0000 (23:48 -0700)]
Continuously publish Cargo builds

This commit tweaks Cargo's automation to continuously publish builds on Travis
an AppVeyor. Once this is merged we can hopefully turn off all buildbot
automation related to Cargo and purely rely on Travis and AppVeyor for this
repository. All CI matrices are ported over to Travis and AppVeyor and a new
musl build of Cargo is even added just to test out adding that for a spin.

Currently Cargo will upload the final artifact for each target to a directory
keyed by the commit hash to a new bucket on S3, rust-lang-cargo-dev. Once we're
happy with the builds then we can change this to `rust-lang-cargo` or anything
else at that point.

9 years agoAuto merge of #3257 - nipunn1313:slash, r=alexcrichton
bors [Mon, 7 Nov 2016 04:38:31 +0000 (20:38 -0800)]
Auto merge of #3257 - nipunn1313:slash, r=alexcrichton

Add a [/] macro expansion for tests

Converts to backslash on windows. Currently, we're using [..],
so this will tighten up the tests.

9 years agoRevert tests/read-manifest.rs
Nipunn Koorapati [Sun, 6 Nov 2016 22:27:49 +0000 (09:27 +1100)]
Revert tests/read-manifest.rs

9 years agoOpen crate files readonly first
Alex Crichton [Sun, 6 Nov 2016 17:06:55 +0000 (09:06 -0800)]
Open crate files readonly first

This allows Cargo to work with read-only `CARGO_HOME` directories where the
cache was prepared ahead of time.

Closes #3256

9 years agoReplace instances of src[..]*.rs with [/]
Nipunn Koorapati [Sun, 6 Nov 2016 12:33:49 +0000 (23:33 +1100)]
Replace instances of src[..]*.rs with [/]

9 years agoReplace {sep} with [/] as well
Nipunn Koorapati [Sun, 6 Nov 2016 04:53:21 +0000 (15:53 +1100)]
Replace {sep} with [/] as well

9 years agoFix error in build-script
Nipunn Koorapati [Sun, 6 Nov 2016 04:05:10 +0000 (15:05 +1100)]
Fix error in build-script

9 years agoAdd a [/] macro expansion for tests
Nipunn Koorapati [Sun, 6 Nov 2016 02:14:16 +0000 (13:14 +1100)]
Add a [/] macro expansion for tests

Converts to backslash on windows. Currently, we're using [..],
so this will tighten up the tests.

9 years agoAuto merge of #3255 - alexcrichton:bump, r=alexcrichton
bors [Sat, 5 Nov 2016 00:24:51 +0000 (17:24 -0700)]
Auto merge of #3255 - alexcrichton:bump, r=alexcrichton

Update makefile to 0.14.0

9 years agoUpdate makefile to 0.14.0
Alex Crichton [Fri, 4 Nov 2016 22:44:46 +0000 (15:44 -0700)]
Update makefile to 0.14.0

9 years agoAuto merge of #3254 - alexcrichton:unignore, r=alexcrichton
bors [Fri, 4 Nov 2016 22:34:14 +0000 (15:34 -0700)]
Auto merge of #3254 - alexcrichton:unignore, r=alexcrichton

Un-ignore proc-macro tests

9 years agoAuto merge of #3249 - matklad:workspace-profiles, r=alexcrichton
bors [Fri, 4 Nov 2016 20:42:09 +0000 (13:42 -0700)]
Auto merge of #3249 - matklad:workspace-profiles, r=alexcrichton

Use a single profile set per workspace

This aims to close #3206.

I have not figured out how to do this 100% backward compatibly, that's why I want to discuss this separately, although a related PR (#3221) is already in flight.

The problem is this: suppose that you have a workspace with two members, A and B and that A includes a profiles section and B does not. Now, mentally `cd` inside B and run `cargo build`. Today, Cargo will use a default profile. We want it to use a profile from A. So here the silent behavior switch will inevitably occur :( Looks like we can't detect this situation.

So this PR just switches the behavior to always use root profiles, and to print a warning if a non-root package specifies profiles. Feel free to reuse it in any form for #3221 if that's convenient!

9 years agoUn-ignore proc-macro tests
Alex Crichton [Fri, 4 Nov 2016 20:16:28 +0000 (13:16 -0700)]
Un-ignore proc-macro tests

9 years agoAuto merge of #3253 - nipunn1313:exe, r=alexcrichton
bors [Fri, 4 Nov 2016 18:35:23 +0000 (11:35 -0700)]
Auto merge of #3253 - nipunn1313:exe, r=alexcrichton

Add an [EXE] hamcrest substitution for file extension

This should make the testing a bit more precise as to whether
we expect targets of the form foo.exe vs foo-abc123.exe. I
was also considering adding a [/] substitution for the fwd
slash vs backslash [..], but thought I would leave that to another PR
if we thought that was a good idea.

9 years agoBackticks to tests/build-script.rs
Nipunn Koorapati [Fri, 4 Nov 2016 08:00:09 +0000 (19:00 +1100)]
Backticks to tests/build-script.rs

9 years agoBuild scripts don't have .exe appended
Nipunn Koorapati [Fri, 4 Nov 2016 07:37:02 +0000 (18:37 +1100)]
Build scripts don't have .exe appended

9 years agoFix bench_dylib for win
Nipunn Koorapati [Fri, 4 Nov 2016 06:29:05 +0000 (17:29 +1100)]
Fix bench_dylib for win

9 years agoAdd an [EXE] hamcrest substitution for file extension
Nipunn Koorapati [Fri, 4 Nov 2016 05:21:43 +0000 (16:21 +1100)]
Add an [EXE] hamcrest substitution for file extension

This should make the testing a bit more precise as to whether
we expect targets of the form foo.exe vs foo-abc123.exe. I
was also considering adding a [/] substitution for the fwd
slash vs backslash [..], but thought I would leave that to another PR
if we thought that was a good idea.

9 years agoAuto merge of #3248 - alexcrichton:bad2, r=brson
bors [Thu, 3 Nov 2016 16:02:30 +0000 (09:02 -0700)]
Auto merge of #3248 - alexcrichton:bad2, r=brson

Default urls in [replace] to crates.io

The intention was to do this, and it mistakenly didn't happen!

Closes #3235

9 years agoDefault urls in [replace] to crates.io
Alex Crichton [Wed, 2 Nov 2016 17:32:35 +0000 (10:32 -0700)]
Default urls in [replace] to crates.io

The intention was to do this, and it mistakenly didn't happen!

Closes #3235

9 years agoUse a single profile set per workspace
Aleksey Kladov [Wed, 2 Nov 2016 15:16:44 +0000 (18:16 +0300)]
Use a single profile set per workspace

9 years agoAuto merge of #3243 - alexcrichton:target-feature, r=brson
bors [Thu, 3 Nov 2016 04:26:37 +0000 (21:26 -0700)]
Auto merge of #3243 - alexcrichton:target-feature, r=brson

Expose rustc cfg values to build scripts

This commit is Cargo's portion of the implementation of [RFC 1721] where it will
expose values printed by `rustc --print cfg` to build scripts.

[RFC 1721]: https://github.com/rust-lang/rfcs/blob/master/text/1721-crt-static.md

This will in turn be used to communicate features like `-C
target-feature=+crt-static` which can be used to compile objects for statically
linking against the msvcrt on MSVC.

9 years agoAuto merge of #3220 - alexcrichton:bad, r=brson
bors [Thu, 3 Nov 2016 02:12:37 +0000 (19:12 -0700)]
Auto merge of #3220 - alexcrichton:bad, r=brson

Load [replace] sections from lock files

This commit fixes a bug in Cargo where path-based [replace] dependencies were
accidentally not loaded from lock files. This meant that even with a lock
file some compilations could accidentally become nondeterministic. The fix here
is to just look at all path dependencies, even those specified through [replace]

Closes #3216

9 years agoAuto merge of #3175 - alexcrichton:bench-abort, r=brson
bors [Thu, 3 Nov 2016 00:21:23 +0000 (17:21 -0700)]
Auto merge of #3175 - alexcrichton:bench-abort, r=brson

Ignore `panic` configuration for test/bench profiles

Both of these profiles link to libtest, so it's invalid to configure them with
`panic="abort"`. To prevent confusing errors just ignore the configuration for
now.

Closes #3166

9 years agoExpose rustc cfg values to build scripts
Alex Crichton [Mon, 31 Oct 2016 23:20:38 +0000 (16:20 -0700)]
Expose rustc cfg values to build scripts

This commit is Cargo's portion of the implementation of [RFC 1721] where it will
expose values printed by `rustc --print cfg` to build scripts.

[RFC 1721]: https://github.com/rust-lang/rfcs/blob/master/text/1721-crt-static.md

This will in turn be used to communicate features like `-C
target-feature=+crt-static` which can be used to compile objects for statically
linking against the msvcrt on MSVC.

9 years agoAuto merge of #3246 - alexcrichton:mtimes-in-the-past, r=alexcrichton
bors [Wed, 2 Nov 2016 17:55:33 +0000 (10:55 -0700)]
Auto merge of #3246 - alexcrichton:mtimes-in-the-past, r=alexcrichton

Continuation of #2880

Just applied a patch to help fix the tests.

9 years agoAuto merge of #3247 - alexcrichton:doc-plugin, r=alexcrichton
bors [Wed, 2 Nov 2016 16:37:00 +0000 (09:37 -0700)]
Auto merge of #3247 - alexcrichton:doc-plugin, r=alexcrichton

Continuation of #3114

Added a test